﻿using Framework.Repository.Conventions;

namespace Framework.Tests.Repository.Entities
{
    [Entity, Component]
    public class Boss
    {
        protected Boss()
        {
        }

        public Boss(string name)
        {
            Name = name;
        }

        public virtual int Id { get; protected set; }
        public virtual string Name { get; protected set; }
    }

    [Entity]
    public class SocietyNumber
    {
        protected SocietyNumber()
        {
        }

        public SocietyNumber(int number)
        {
            Number = number;
        }

        public virtual int Id { get; protected set; }
        public virtual int Number { get; protected set; }
    }

    [Entity]
    public class Society
    {
        protected Society()
        {
        }

        public Society(string name, Address address, Boss boss, SocietyNumber societyNumber)
        {
            Name = name;
            Address = address;
            Boss = boss;
            SocietyNumber = societyNumber;
        }

        public virtual int Id { get; protected set; }
        public virtual string Name { get; protected set; }
        public virtual Address Address { get; protected set; }
        public virtual Boss Boss { get; protected set; }
        public virtual SocietyNumber SocietyNumber { get; protected set; }
    }
}